草庐IT

python - 静态库的ctypes?

全部标签

c# - 扩展方法与实例方法与静态类

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我对在C#中使用方法与对象交互的不同方式感到有点困惑,尤其是以下主要设计差异和后果:调用实例方法在POCO上使用静态类创建扩展方法例子:publicclassMyPoint{publicdoublex{get;set;}publicdoubley{get;set;}publicdouble?DistanceFrom(MyPointp){if(p!=null){returnMath.Sqrt(Math.Po

c# - 如何在 MVC Html.DropDownList() 中添加静态项目列表

我想将SelectList()中的静态项目列表分配给ASP.NETMVC中的Html.DropDownList(),最佳做法是什么?我正要尝试找到一种使用newSelectList(new{key="value"}...的方法,但是一个没有用,第二个,我会这里违反了法律,我的静态列表是否应该在ViewData中声明并作为IList/IENumerable传递? 最佳答案 最好不要在View中创建SelectList。您应该在Controller中创建它并使用ViewData传递它。例子:varlist=newSelectList(n

C# 静态 "this"

在C#静态方法中是否有一种方法可以引用定义该方法的类型?在实例方法中,您可以通过以下方式确定类型:publicvoidFoo(){Typetype=this.GetType();}在静态方法中它会是什么样子?publicstaticvoidBar(){Typetype=....?}更新:抱歉,需要澄清:我知道typeof(...)功能。我正在寻找一个关键字或代码,它可以在不显式引用类名的情况下为我提供类型。更新:除了DeveloperArt的答案完全符合我的要求,还有更简单的方法吗? 最佳答案 给你:publicstaticvoid

c# - 如何在 C# 静态和非静态方法之间做出决定?

[编辑]我最初的问题是“为什么要在静态和非静态之间做出决定?两者都做同样的事情......”不幸的是,它被编辑为我真正想避免的C#特定问题。所以,让我做一些补充:当我说接口(interface)时,我指的不是C#-keyword-interface,而是我理解的类似于C++-interface的东西:一组定义良好的函数来操作我的对象。当说削弱我的界面时,我的意思是我有不同的功能(静态/非静态)做同样的事情。当有不同的功能来做同样的事情时,我的界面不再被很好地定义。所以,正如看门人鲍勃所说,我可以实现一个Validate()函数Document.Validate(myDocumentOb

c# - 如何模拟静态单例?

我有很多类(class)被要求使用RhinoMocks添加一些单元测试并遇到一些问题。首先,我知道RhinoMocks不允许模拟静态成员。我正在寻找我有哪些选择(除了使用TypeMock之外)。我所拥有的类的示例类似于以下内容:classExample1:ISomeInterface{privatestaticISomeInterface_instance;privateExample1(){//setpropertiesviaprivatestaticmethods}staticExample1(){_instance=newExample1();}publicstaticISome

c# - 如何使用反射调用静态构造函数?

如何获取静态构造函数的ConstructorInfo?publicclassMyClass{publicstaticintSomeValue;staticMyClass(){SomeValue=23;}}我尝试了以下但失败了......TypemyClass=typeof(MyClass);//throwsexceptionmyClass.TypeInitializer.Invoke(null);//returnsnull(alsotrieddeletingBindingFlags.PublicConstructorInfoci=myClass.GetConstructor(Bindi

c# - 如何从 C# 可移植类库 (PCL) 添加对 F# 可移植库的引用

我有一个项目,其中包含两个F#项目和一个C#项目,我想在其中编写一些XUnit测试:FS_PL:F#3.1(3.3.1.0)可移植库FS_PL_Legacy:F#31。(2.3.5.1)可移植库(旧版)测试:C#.NET4.5/Win8C#可移植类库(PCL)我无法从测试添加对任一F#库的引用。当我尝试添加对FS_PL的引用时,我看到一个对话框,指出“无法添加对项目‘FS_PL’的引用。可移植库项目‘FS_PL’的目标与当前可移植图书馆项目的目标”:这很奇怪,因为我的测试和FS_PL库都配置为面向.NET4.5和Windows8。所以我创建了FS_PL_Legacy并尝试添加对它的引用

c# - 在 asp .net core 中为 MediatR 库的 Send 和 Publish 方法添加通用处理程序

我在我的asp.net核心项目中使用CQS模式。让我们从一个例子开始,以更好地解释我想要实现的目标。我创建了一个命令:publicclassEmptyCommand:INotification{}命令处理程序:publicclassEmptyCommandHandler:INotificationHandler{publicTaskHandle(EmptyCommandnotification,CancellationTokencancellationToken){returnTask.FromResult(string.Empty);}}查询:publicclassEmptyQuer

c# - 有没有像 c# 的 python 装饰器之类的东西?

我正在包装对API的调用,我的大部分方法都在第一行:if(!Gree.Authorizer.IsAuthorized()){return;}在python中,我会用类似@login_required的东西来装饰这些方法。您会用什么在c#中重构这种类型的逻辑? 最佳答案 您正在寻找称为面向方面编程的更通用编程方法的子集。C#似乎通过几个库来支持它,并且由于某些CLR功能,人们也可以推出自己的库。参见AspectOrientedProgrammingusing.NET其中涵盖了它的基本原理(我正在链接文章中谈论C#细节的部分,但如果您正

C# 静态类和 is 运算符

最近重构了一些代码,其中涉及一些类重命名,我的一些代码以令人惊讶的方式崩溃了。原因是“is”运算符测试失败,我很惊讶这不是编译器错误或警告。这个完整的程序展示了这种情况:staticclassExtensionMethods{}classProgram{staticvoidMain(){Test("Test");}publicstaticboolTest(objectobj){returnobjisExtensionMethods;}}鉴于ExtensionMethods是一个静态类,我原以为“objisExtensionMethods”会引发某种警告。当被测对象永远不可能是提供的类型